package com.ruoyi.order.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单信息对象 jy_store_product_order
 *
 * @author ruoyi
 * @date 2021-11-25
 */
@ApiModel
public class StoreProductOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @ApiModelProperty(value = "${comment}")
    private Long id;

    /** 订单号 */
    @Excel(name = "订单号")
    @ApiModelProperty(value = "订单号")
    private String orderId;

    /** 门店id */
    @Excel(name = "门店id")
    @ApiModelProperty(value = "门店id")
    private Long storeId;

    /** 商品id */
    @Excel(name = "商品id")
    @ApiModelProperty(value = "商品id")
    private Long productId;

    /** 门店名称 */
    @Excel(name = "门店名称")
    @ApiModelProperty(value = "门店名称")
    private String storeName;

    /** 商品名称 */
    @Excel(name = "商品名称")
    @ApiModelProperty(value = "商品名称")
    private String productName;

    /** 商品快照id */
    @Excel(name = "商品快照id")
    @ApiModelProperty(value = "商品快照id")
    private Long productBackId;

    /** 评价主键 */
    @Excel(name = "评价主键")
    @ApiModelProperty(value = "评价主键")
    private Long commentId;

    /** 下单人id */
    @Excel(name = "下单人id")
    @ApiModelProperty(value = "下单人id")
    private Long memberId;

    /** 评价状态 */
    @Excel(name = "评价状态")
    @ApiModelProperty(value = "评价状态")
    private String commentState;

    /** 总价 */
    @Excel(name = "总价")
    @ApiModelProperty(value = "总价")
    private BigDecimal totalPrice;

    /** $column.columnComment */
    @Excel(name = "商品主图")
    @ApiModelProperty(value = "商品主图")
    private String productImage;

    /** 实际支付金额 */
    @Excel(name = "实际支付金额")
    @ApiModelProperty(value = "实际支付金额")
    private BigDecimal payPrice;

    /** 抵扣金额 */
    @Excel(name = "抵扣金额")
    @ApiModelProperty(value = "抵扣金额")
    private BigDecimal deductionPrice;

    /** 用户优惠券couponmemberid */
    @Excel(name = "优惠券id")
    @ApiModelProperty(value = "优惠券id")
    private Long couponId;

    /** 优惠券金额 */
    @Excel(name = "优惠券金额")
    @ApiModelProperty(value = "优惠券金额")
    private BigDecimal couponPrice;

    /** 支付状态 */
    @Excel(name = "支付状态")
    @ApiModelProperty(value = "支付状态")
    private String payState;

    /** 支付记录单号 */
    @Excel(name = "支付记录单号")
    @ApiModelProperty(value = "支付记录单号")
    private String payOrderNo;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "支付时间")
    private Date payTime;

    /** 支付方式 */
    @Excel(name = "支付方式")
    @ApiModelProperty(value = "支付方式")
    private String payType;

    /** 订单状态 */
    @Excel(name = "订单状态")
    @ApiModelProperty(value = "订单状态")
    private String orderState;

    /** 退款审核状态 */
    @Excel(name = "退款状态")
    @ApiModelProperty(value = "退款状态")
    private String refundStatus;

    /** 退款订单号 */
    @Excel(name = "退款订单号")
    @ApiModelProperty(value = "退款订单号")
    private String refundPayOrderNo;

    /** 退款支付状态 */
    @Excel(name = "退款支付状态")
    @ApiModelProperty(value = "退款支付状态")
    private String refundPayStatus;

    /** 退款支付失败原因 */
    @Excel(name = "退款支付失败原因")
    @ApiModelProperty(value = "退款支付失败原因")
    private String refundPayErrMsg;

    /** 退款原因 */
    @Excel(name = "退款原因")
    @ApiModelProperty(value = "退款原因")
    private String refundReason;

    /** 退款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退款申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "退款申请时间")
    private Date refundTime;

    /** 退款金额 */
    @Excel(name = "退款金额")
    @ApiModelProperty(value = "退款金额")
    private BigDecimal refundPrice;

    /** 拒绝退款原因 */
    @Excel(name = "拒绝退款原因")
    @ApiModelProperty(value = "拒绝退款原因")
    private String refundRefuseReason;

    /** 核销码 */
    @Excel(name = "核销码")
    @ApiModelProperty(value = "核销码")
    private String verifyCode;

    /** 核销人id */
    @Excel(name = "核销人id")
    @ApiModelProperty(value = "核销人id")
    private Long storeUserId;

    /** 核销人名称 */
    @Excel(name = "核销人名称")
    @ApiModelProperty(value = "核销人名称")
    private String storeUserName;

    /** 核销时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "核销时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "核销时间")
    private Date verifyCodeTime;

    /** 最后可使用日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后可使用日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "最后可使用日期")
    private Date lastUseTime;

    /** 抽佣比例 */
    @Excel(name = "抽佣比例")
    @ApiModelProperty(value = "抽佣比例")
    private BigDecimal commissionPercent;

    /** 商家金额 */
    @Excel(name = "商家金额")
    @ApiModelProperty(value = "商家金额")
    private BigDecimal storeMoney;

    /** 平台金额 */
    @Excel(name = "平台金额")
    @ApiModelProperty(value = "平台金额")
    private BigDecimal platformMoney;

    /** 结算状态 */
    @Excel(name = "结算状态")
    @ApiModelProperty(value = "结算状态")
    private String billingState;

    /** 结算时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结算时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "结算时间")
    private Date billingTime;

    /** 是否售后订单 */
    @Excel(name = "是否售后订单")
    @ApiModelProperty(value = "是否售后订单")
    private String aftersaleState;

    /** 验证码图片地址 */
    @Excel(name = "验证码图片地址")
    @ApiModelProperty(value = "验证码图片地址")
    private String verifyCodeImg;

    /** 核销次数*/
    @Excel(name = "核销次数")
    private Long writeOffNum;

    /** 是否有售后*/
    @Excel(name = "是否有售后")
    private String isAfterSales;

    /** 售后码*/
    @Excel(name = "售后码")
    private String aftersaleCode;

    /** 售后验证码地址*/
    @Excel(name = "售后验证码地址")
    private String aftersaleCodeImg;

    /** 售后次数*/
    @Excel(name = "售后次数")
    private Long aftersaleOffNum;

    /** 售后时限开始时间*/
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "售后时限开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date aftersaleStartTime;

    /** 售后时限结束时间*/
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "售后时限结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date aftersaleEndTime;

    /** 售后手工费*/
    @Excel(name = "售后手工费")
    private BigDecimal aftersaleMoney;

    /** 订单类型 order=订单，vip=vip订单*/
    @Excel(name = "订单类型")
    private String orderType;

    /****************************** 查询字段 **************************************************/
    private String beginVerifyCodeTime;
    private String endVerifyCodeTime;

    public void setOrderType(String orderType)
    {
        this.orderType = orderType;
    }
    public String getOrderType()
    {
        return orderType;
    }

    public void setIsAfterSales(String isAfterSales)
    {
        this.isAfterSales = isAfterSales;
    }
    public String getIsAfterSales()
    {
        return isAfterSales;
    }

    public void setAftersaleCode(String aftersaleCode)
    {
        this.aftersaleCode = aftersaleCode;
    }
    public String getAftersaleCode()
    {
        return aftersaleCode;
    }

    public void setAftersaleCodeImg(String aftersaleCodeImg)
    {
        this.aftersaleCodeImg = aftersaleCodeImg;
    }
    public String getAftersaleCodeImg()
    {
        return aftersaleCodeImg;
    }

    public void setAftersaleOffNum(Long aftersaleOffNum)
    {
        this.aftersaleOffNum = aftersaleOffNum;
    }
    public Long getAftersaleOffNum()
    {
        return aftersaleOffNum;
    }

    public void setAftersaleStartTime(Date aftersaleStartTime)
    {
        this.aftersaleStartTime = aftersaleStartTime;
    }
    public Date getAftersaleStartTime()
    {
        return aftersaleStartTime;
    }

    public void setAftersaleEndTime(Date aftersaleEndTime)
    {
        this.aftersaleEndTime = aftersaleEndTime;
    }
    public Date getAftersaleEndTime()
    {
        return aftersaleEndTime;
    }

    public void setAftersaleMoney(BigDecimal aftersaleMoney)
    {
        this.aftersaleMoney = aftersaleMoney;
    }
    public BigDecimal getAftersaleMoney()
    {
        return aftersaleMoney;
    }


    public String getBeginVerifyCodeTime() {
        return beginVerifyCodeTime;
    }

    public void setBeginVerifyCodeTime(String beginVerifyCodeTime) {
        this.beginVerifyCodeTime = beginVerifyCodeTime;
    }

    public String getEndVerifyCodeTime() {
        return endVerifyCodeTime;
    }

    public void setEndVerifyCodeTime(String endVerifyCodeTime) {
        this.endVerifyCodeTime = endVerifyCodeTime;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setOrderId(String orderId)
    {
        this.orderId = orderId;
    }

    public String getOrderId()
    {
        return orderId;
    }
    public void setStoreId(Long storeId)
    {
        this.storeId = storeId;
    }

    public Long getStoreId()
    {
        return storeId;
    }
    public void setProductId(Long productId)
    {
        this.productId = productId;
    }

    public Long getProductId()
    {
        return productId;
    }
    public void setStoreName(String storeName)
    {
        this.storeName = storeName;
    }

    public String getStoreName()
    {
        return storeName;
    }
    public void setProductName(String productName)
    {
        this.productName = productName;
    }

    public String getProductName()
    {
        return productName;
    }
    public void setProductBackId(Long productBackId)
    {
        this.productBackId = productBackId;
    }

    public Long getProductBackId()
    {
        return productBackId;
    }
    public void setCommentId(Long commentId)
    {
        this.commentId = commentId;
    }

    public Long getCommentId()
    {
        return commentId;
    }
    public void setMemberId(Long memberId)
    {
        this.memberId = memberId;
    }

    public Long getMemberId()
    {
        return memberId;
    }
    public void setCommentState(String commentState)
    {
        this.commentState = commentState;
    }

    public String getCommentState()
    {
        return commentState;
    }
    public void setTotalPrice(BigDecimal totalPrice)
    {
        this.totalPrice = totalPrice;
    }

    public BigDecimal getTotalPrice()
    {
        return totalPrice;
    }
    public void setProductImage(String productImage)
    {
        this.productImage = productImage;
    }

    public String getProductImage()
    {
        return productImage;
    }
    public void setPayPrice(BigDecimal payPrice)
    {
        this.payPrice = payPrice;
    }

    public BigDecimal getPayPrice()
    {
        return payPrice;
    }
    public void setDeductionPrice(BigDecimal deductionPrice)
    {
        this.deductionPrice = deductionPrice;
    }

    public BigDecimal getDeductionPrice()
    {
        return deductionPrice;
    }
    public void setCouponId(Long couponId)
    {
        this.couponId = couponId;
    }

    public Long getCouponId()
    {
        return couponId;
    }
    public void setCouponPrice(BigDecimal couponPrice)
    {
        this.couponPrice = couponPrice;
    }

    public BigDecimal getCouponPrice()
    {
        return couponPrice;
    }
    public void setPayState(String payState)
    {
        this.payState = payState;
    }

    public String getPayState()
    {
        return payState;
    }
    public void setPayOrderNo(String payOrderNo)
    {
        this.payOrderNo = payOrderNo;
    }

    public String getPayOrderNo()
    {
        return payOrderNo;
    }
    public void setPayTime(Date payTime)
    {
        this.payTime = payTime;
    }

    public Date getPayTime()
    {
        return payTime;
    }
    public void setPayType(String payType)
    {
        this.payType = payType;
    }

    public String getPayType()
    {
        return payType;
    }
    public void setOrderState(String orderState)
    {
        this.orderState = orderState;
    }

    public String getOrderState()
    {
        return orderState;
    }
    public void setRefundStatus(String refundStatus)
    {
        this.refundStatus = refundStatus;
    }

    public String getRefundStatus()
    {
        return refundStatus;
    }
    public void setRefundPayOrderNo(String refundPayOrderNo)
    {
        this.refundPayOrderNo = refundPayOrderNo;
    }

    public String getRefundPayOrderNo()
    {
        return refundPayOrderNo;
    }
    public void setRefundPayStatus(String refundPayStatus)
    {
        this.refundPayStatus = refundPayStatus;
    }

    public String getRefundPayStatus()
    {
        return refundPayStatus;
    }
    public void setRefundPayErrMsg(String refundPayErrMsg)
    {
        this.refundPayErrMsg = refundPayErrMsg;
    }

    public String getRefundPayErrMsg()
    {
        return refundPayErrMsg;
    }
    public void setRefundReason(String refundReason)
    {
        this.refundReason = refundReason;
    }

    public String getRefundReason()
    {
        return refundReason;
    }
    public void setRefundTime(Date refundTime)
    {
        this.refundTime = refundTime;
    }

    public Date getRefundTime()
    {
        return refundTime;
    }
    public void setRefundPrice(BigDecimal refundPrice)
    {
        this.refundPrice = refundPrice;
    }

    public BigDecimal getRefundPrice()
    {
        return refundPrice;
    }
    public void setRefundRefuseReason(String refundRefuseReason)
    {
        this.refundRefuseReason = refundRefuseReason;
    }

    public String getRefundRefuseReason()
    {
        return refundRefuseReason;
    }
    public void setVerifyCode(String verifyCode)
    {
        this.verifyCode = verifyCode;
    }

    public String getVerifyCode()
    {
        return verifyCode;
    }
    public void setStoreUserId(Long storeUserId)
    {
        this.storeUserId = storeUserId;
    }

    public Long getStoreUserId()
    {
        return storeUserId;
    }
    public void setStoreUserName(String storeUserName)
    {
        this.storeUserName = storeUserName;
    }

    public String getStoreUserName()
    {
        return storeUserName;
    }
    public void setVerifyCodeTime(Date verifyCodeTime)
    {
        this.verifyCodeTime = verifyCodeTime;
    }

    public Date getVerifyCodeTime()
    {
        return verifyCodeTime;
    }
    public void setLastUseTime(Date lastUseTime)
    {
        this.lastUseTime = lastUseTime;
    }

    public Date getLastUseTime()
    {
        return lastUseTime;
    }
    public void setCommissionPercent(BigDecimal commissionPercent)
    {
        this.commissionPercent = commissionPercent;
    }

    public BigDecimal getCommissionPercent()
    {
        return commissionPercent;
    }
    public void setStoreMoney(BigDecimal storeMoney)
    {
        this.storeMoney = storeMoney;
    }

    public BigDecimal getStoreMoney()
    {
        return storeMoney;
    }
    public void setPlatformMoney(BigDecimal platformMoney)
    {
        this.platformMoney = platformMoney;
    }

    public BigDecimal getPlatformMoney()
    {
        return platformMoney;
    }
    public void setBillingState(String billingState)
    {
        this.billingState = billingState;
    }

    public String getBillingState()
    {
        return billingState;
    }
    public void setBillingTime(Date billingTime)
    {
        this.billingTime = billingTime;
    }

    public Date getBillingTime()
    {
        return billingTime;
    }
    public void setAftersaleState(String aftersaleState)
    {
        this.aftersaleState = aftersaleState;
    }

    public String getAftersaleState()
    {
        return aftersaleState;
    }
    public void setVerifyCodeImg(String verifyCodeImg)
    {
        this.verifyCodeImg = verifyCodeImg;
    }

    public String getVerifyCodeImg()
    {
        return verifyCodeImg;
    }

    public void setWriteOffNum(Long writeOffNum)
    {
        this.writeOffNum = writeOffNum;
    }
    public Long getWriteOffNum()
    {
        return writeOffNum;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderId", getOrderId())
            .append("storeId", getStoreId())
            .append("productId", getProductId())
            .append("storeName", getStoreName())
            .append("productName", getProductName())
            .append("productBackId", getProductBackId())
            .append("commentId", getCommentId())
            .append("memberId", getMemberId())
            .append("commentState", getCommentState())
            .append("totalPrice", getTotalPrice())
            .append("productImage", getProductImage())
            .append("payPrice", getPayPrice())
            .append("deductionPrice", getDeductionPrice())
            .append("couponId", getCouponId())
            .append("couponPrice", getCouponPrice())
            .append("payState", getPayState())
            .append("payOrderNo", getPayOrderNo())
            .append("payTime", getPayTime())
            .append("payType", getPayType())
            .append("orderState", getOrderState())
            .append("refundStatus", getRefundStatus())
            .append("refundPayOrderNo", getRefundPayOrderNo())
            .append("refundPayStatus", getRefundPayStatus())
            .append("refundPayErrMsg", getRefundPayErrMsg())
            .append("refundReason", getRefundReason())
            .append("refundTime", getRefundTime())
            .append("refundPrice", getRefundPrice())
            .append("refundRefuseReason", getRefundRefuseReason())
            .append("verifyCode", getVerifyCode())
            .append("storeUserId", getStoreUserId())
            .append("storeUserName", getStoreUserName())
            .append("verifyCodeTime", getVerifyCodeTime())
            .append("lastUseTime", getLastUseTime())
            .append("commissionPercent", getCommissionPercent())
            .append("storeMoney", getStoreMoney())
            .append("platformMoney", getPlatformMoney())
            .append("delState", getDelState())
            .append("billingState", getBillingState())
            .append("delUser", getDelUser())
            .append("billingTime", getBillingTime())
            .append("delType", getDelType())
            .append("delTime", getDelTime())
            .append("createBy", getCreateBy())
            .append("createType", getCreateType())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("aftersaleState", getAftersaleState())
            .append("updateType", getUpdateType())
            .append("updateTime", getUpdateTime())
            .append("verifyCodeImg", getVerifyCodeImg())
            .toString();
    }
}
